It is difficult to imagine a communication process that does not involve a collection of devices connected by a network. Networks carry voice and data communications for communication, entertainment, business, and defense endeavors to name but a few. For a variety of reasons, most networks are collections of smaller sub-networks that are managed first at the sub-network level and then at the integrated network level. Management comprises configuring devices for connection to the network, monitoring and reporting on network and device loads, and managing device failure.
A device is often managed by a variety of applications depending on the function to be managed. For example, the workload of a device may be managed by application A supplied by vendor A and the configuration of a device may be managed by application B supplied by vendor B. In this example, application A is configured via a script to manage device A and reports its results to a workload database. Application B is configured using a text file to manage the configuration of device B and reports its results to a configuration database. Typically, applications A and B cannot directly communicate with each other or share data.
In modern day networks such as wireless networks, intranets or the Internet, there are a number of network devices of various types. Such network devices may be workstations, routers, servers, and a wide variety of other smart devices that appear on networks. Network management tools have evolved to manage these devices. As networks have increased in size and complexity, network management functions have become increasingly resource intensive.
Network management comprises a number of functions, including (but without limitation) fault management, configuration management, performance management, security management, inventory management and cost management. Of these functions, configuration management is of particular importance as it affects in varying degree the effectiveness of the other network management systems in managing all of the other functions.
Most devices and applications on a network (sometimes collectively referred to as “objects” or “network management objects”) are designed to be configured, thus broadening the applications for which a particular object can be used. The information comprising an object's configuration is both object and context dependent. That is, the configuration of a device may depend on the device, where in a network it is installed, what it is connected to, what applications it is intended to run, and the like. In order for a network to operate efficiently, the configuration of the various objects comprising the network must be known at all times. An unplanned change in the configuration of a router, for example, may cause the network performance to deteriorate or to fail altogether, may result in increased error reporting and error correction processing time, and cause the network operator to expend resources to locate and correct the configuration error.
Network management tools have been developed to detect changes in the configurations of critical network components. These tools monitor the configuration files of such objects, issue alarms when a change is detected, and offer manual or automatic restoration of the changed configuration file to a file known to be good. However, current configuration monitoring tools are reactionary. Such tools can determine that a configuration has changed, but cannot initiate a reconfiguration of specific devices or applications on the network or sub-network, or relate the configuration of one device on a network to another device on that network without human intervention. Rather, many traditional network management systems are maintained by hand-entering device lists into individual network management applications with no common-ties between the different applications.
Whenever a network device is changed or upgraded, it frequently becomes necessary to insure that the upgrade is populated throughout the network in order for devices to talk to one another in an error free way. The difficulty with updating distributed network devices is that this typically occurs on a device-by-device basis. Therefore the possibility of human error is ever present. Misentering or omitting device information into different network management applications results in a network that is not effectively managed. Further, if different network management applications are present on various network devices, over time, the network applications become increasingly asynchronous resulting in critical failures and the potential for loss of visibility on the network of various devices.
At any point in time, it is desirable for a network management application to know the configuration of each configurable device that such network management application is managing. This is accomplished by the network management application polling the managed devices and keeping a record of the polled data. However, networks with a large number of network management applications have difficulty synchronizing against a single inventory of devices and synchronizing device status over all of the network management applications. And, as previously noted, the network management applications are typically from diverse vendors and may not be able to communicate with each other. The result is that over the network, the data used to manage the configuration of network devices and network device polling applications is not current, and becomes less current (more asynchronous) as time goes on.
Various approaches to improving network management systems have been disclosed. U.S. Pat. No. 5,785,083 ('083 patent) to Singh, et al. entitled “Method And System For Sharing Information Between Network Managers,” discloses a technique for managing a network by sharing information between distributed network managers that manage a different portion of a large network. Databases in the different network managers can be synchronized with each other. The information that is shared is to be used by an end-user who monitors the network and takes corrective action when necessary.
U.S. Pat. No. 6,295,558 ('558 patent) to Davis, et. al., entitled “Automatic Status Polling Failover For Devices In A Distributed Network Management Hierarchy,” discloses an automatic failover methodology whereby a central control unit, such as a management station, will automatically takeover interface status polling of objects of a collection station that is temporarily unreachable. The '558 patent teaches a failover methodology that reassigns polling responsibility from a failed collection station to a central control unit (such as a management station). A polling application at the central control unit obtains the topology of the failed collection station and performs polling until the polling station returns to operational status.
U.S. Pat. No. 6,345,239 (the '239 patent) to Bowman-Amuah, entitled “Remote Demonstration Of Business Capabilities In An E-Commerce Environment,” discloses and claims a system, method and article of manufacture for demonstrating business capabilities in an e-commerce environment. The '239 patent discloses, but does not claim, network management functionality that refers to synchronization of configuration data over a communication system as an objective. The disclosures, made in the context of a discussion of a network configuration and re-routing sub-process, describe functions but not means.
U.S. Patent Application 20020057018 (the '018 application) to Branscomb, et. al., entitled “Network device power distribution scheme,” discloses and claims a telecommunications network device including at least one power distribution unit capable of connecting to multiple, unregulated DC power feeds. The '018 application further discloses (but does not claim) an approach to a network management system that features a single data repository for configuration information of each network device. Network servers communicate with network devices and with client devices. Client devices communicate with a network administrator. The administrator can use a client to configure multiple network devices. Client devices also pass configuration requirements to the network servers and receive reports from network relating configuration data of network devices. According to this approach, pushing data from a server to multiple clients synchronizes the clients with minimal polling thus reducing network traffic. Configuration changes made by the administrator directly are made to the configuration database within a network device (through the network server) and, through active queries, automatically replicated to a central NMS database. In this way, devices and the NMS are always in synch.
The approaches described in these references are those that relate to management of the network manually. What would be particularly useful is a system and method that automates the change management process in real-time using a two-way communications model that permits a central database to affect changes on all or some network management applications/systems in the field, while also allowing those same field systems to affect the central database. It also would be desirable for such a system and method to update all network management applications on the network upon the occurrence of a change in a network device and to manage failover through logically assigned buddies. Finally, such a system and method would also decrease the errors associated with human intervention to update network management applications.